package com.amsp.oa.oademo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 职员/员工离职申请表实体类
 */
@Data
@TableName("resignation_application")
public class ResignationApplication {

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 部门
     */
    private String department;

    /**
     * 组别
     */
    @TableField("group_name")
    private String groupName;

    /**
     * 离职类型
     */
    @TableField("resign_type")
    private String resignType;

    /**
     * 填表年份
     */
    @TableField("fill_date_year")
    private Integer fillDateYear;

    /**
     * 填表月份
     */
    @TableField("fill_date_month")
    private Integer fillDateMonth;

    /**
     * 姓名
     */
    private String name;

    /**
     * 职务
     */
    private String position;

    /**
     * 工号
     */
    @TableField("employee_id")
    private String employeeId;

    /**
     * 性别
     */
    private String gender;

    /**
     * 进厂日期
     */
    @TableField("join_date")
    private String joinDate;

    /**
     * 离厂日期
     */
    @TableField("leave_date")
    private String leaveDate;

    /**
     * 个人陈述理由
     */
    private String reason;

    /**
     * 班（组）长意见
     */
    @TableField("team_leader_opinion")
    private String teamLeaderOpinion;

    /**
     * 班（组）长姓名
     */
    @TableField("team_leader_name")
    private String teamLeaderName;

    /**
     * 班（组）长意见年份
     */
    @TableField("team_leader_date_year")
    private Integer teamLeaderDateYear;

    /**
     * 班（组）长意见月份
     */
    @TableField("team_leader_date_month")
    private Integer teamLeaderDateMonth;

    /**
     * 主管意见
     */
    @TableField("supervisor_opinion")
    private String supervisorOpinion;

    /**
     * 主管姓名
     */
    @TableField("supervisor_name")
    private String supervisorName;

    /**
     * 主管意见年份
     */
    @TableField("supervisor_date_year")
    private Integer supervisorDateYear;

    /**
     * 主管意见月份
     */
    @TableField("supervisor_date_month")
    private Integer supervisorDateMonth;

    /**
     * 经理意见
     */
    @TableField("manager_opinion")
    private String managerOpinion;

    /**
     * 经理姓名
     */
    @TableField("manager_name")
    private String managerName;

    /**
     * 经理意见年份
     */
    @TableField("manager_date_year")
    private Integer managerDateYear;

    /**
     * 经理意见月份
     */
    @TableField("manager_date_month")
    private Integer managerDateMonth;

    /**
     * 部长/总监意见
     */
    @TableField("director_opinion")
    private String directorOpinion;

    /**
     * 部长/总监姓名
     */
    @TableField("director_name")
    private String directorName;

    /**
     * 部长/总监意见年份
     */
    @TableField("director_date_year")
    private Integer directorDateYear;

    /**
     * 部长/总监意见月份
     */
    @TableField("director_date_month")
    private Integer directorDateMonth;

    /**
     * 总经理意见
     */
    @TableField("general_manager_opinion")
    private String generalManagerOpinion;

    /**
     * 总经理姓名
     */
    @TableField("general_manager_name")
    private String generalManagerName;

    /**
     * 总经理意见年份
     */
    @TableField("general_manager_date_year")
    private Integer generalManagerDateYear;

    /**
     * 总经理意见月份
     */
    @TableField("general_manager_date_month")
    private Integer generalManagerDateMonth;

    /**
     * 人资经理姓名
     */
    @TableField("hr_manager_name")
    private String hrManagerName;

    /**
     * 人资经理意见年份
     */
    @TableField("hr_manager_date_year")
    private Integer hrManagerDateYear;

    /**
     * 人资经理意见月份
     */
    @TableField("hr_manager_date_month")
    private Integer hrManagerDateMonth;

    /**
     * 部长姓名
     */
    @TableField("department_head_name")
    private String departmentHeadName;

    /**
     * 部长意见年份
     */
    @TableField("department_head_date_year")
    private Integer departmentHeadDateYear;

    /**
     * 部长意见月份
     */
    @TableField("department_head_date_month")
    private Integer departmentHeadDateMonth;

    /**
     * 总裁/董事长姓名
     */
    @TableField("president_name")
    private String presidentName;

    /**
     * 总裁/董事长意见年份
     */
    @TableField("president_date_year")
    private Integer presidentDateYear;

    /**
     * 总裁/董事长意见月份
     */
    @TableField("president_date_month")
    private Integer presidentDateMonth;

    /**
     * 创建时间
     */
    @TableField("create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime updateTime;
}